package cpu;

import cpu.registers.*;
import cpu.registers.Register;

public class CPU_State {

    //寄存器列表
    //TODO:段寄存器
    public static Register cs = new CS();//代码段
    public static Register ds = new DS();//数据段
    public static Register ss = new SS();//栈段
    //TODO:通用寄存器
    public static Register eflag = new EFlag();//TODO:程序状态字；储存了各种各样计算、操作的状态，如CF、OF等
    public static Register eip = new EIP();//指令寄存器
    public static Register esp = new ESP();//栈顶指针
    public static Register eax = new EAX();//累加器；可隐式访问；通常用来执行加法，函数调用的返回值一般也放在这里面
    public static Register ecx = new ECX();//通常用来作为计数器，比如for循环
    public static Register edx = new EDX();//读写I/O端口时，edx用来存放端口号
    public static Register ebx = new EBX();//数据存取

    public static int ICC;  //control unit

}
